/**
 *====================================================
 * 文件名称: TallySyncParams.java
 * 修订记录：
 * No    日期				作者(操作:具体内容)
 * 1.    2016年1月8日			chenxy(创建:创建文件)
 *====================================================
 * 类描述：(说明未实现或其它不应生成javadoc的内容)
 */
package com.yuexunit.finance.project.action.v1.model.input;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;

import com.yuexunit.web.annotation.Parameter;

/**
 * @ClassName: TallySyncParams
 * @Description: TODO(这里用一句话描述这个类的作用)
 * @author chenxy
 * @date 2016年1月8日 下午3:14:47
 */
public class TallySyncParams {

	@Parameter(name = "recieveNoticeNumber", description = "收货通知编号")
	private String recieveNoticeNumber;

	@Parameter(name = "clerkMobile", description = "理货人手机号")
	private String clerkMobile;

	@Parameter(name = "driverAddress", description = "出发地点")
	private String driverAddress;

	@Parameter(name = "tallyAddress", description = "理货地点")
	private String tallyAddress;

	@Parameter(name = "startDate", description = "出发时间")
	private Date startDate;

	@Parameter(name = "tallyDateTime", description = "理货时间")
	private Date tallyDateTime;

	@Parameter(name = "waybillNumber", description = "物流提单号")
	private String waybillNumber;

	@Parameter(name = "caseNumber", description = "箱号")
	private String caseNumber;

	@Parameter(name = "model", description = "箱型")
	private String model;

	@Parameter(name = "dimension", description = "尺寸")
	private String dimension;

	@Parameter(name = "facingSlip", description = "铅封号")
	private String facingSlip;

	@Parameter(name = "facingSlipNext", description = "铅封号2")
	private String facingSlipNext;

	@Parameter(name = "tallyPreFile", description = "理货前图片HTTP地址(多个)")
	private String[] tallyPreFile;

	@Parameter(name = "tallySuffixFile", description = "理货后图片HTTP地址(多个)")
	private String[] tallySuffixFile;

	@Parameter(name = "tallyRemark", description = "理货说明")
	private String tallyRemark;

	@Parameter(name = "tallyExAbnormalFile", description = "异常图片HTTP地址")
	private String tallyExAbnormalFile;

	@Parameter(name = "tallyExAbnormalState", description = "异常类别(1:货损/2:丢失)")
	private Integer tallyExAbnormalState;

	@Parameter(name = "tallyBulkstocks", description = "货物信息")
	private List<TallyBulkstock> tallyBulkstocks = new ArrayList<>();

	public static class TallyBulkstock {
		@Parameter(name = "trayNumber", description = "托盘号")
		private String trayNumber;

		@Parameter(name = "bulkstockName", description = "货物名称")
		private String bulkstockName;

		@Parameter(name = "specification", description = "规格型号")
		private String specification;

		@Parameter(name = "quantity", description = "数量")
		private BigDecimal quantity;

		@Parameter(name = "volume", description = "体积")
		private BigDecimal volume;

		@Parameter(name = "weight", description = "重量")
		private BigDecimal weight;

		@Parameter(name = "filesUuid", description = "货物图片HTTP地址(多个)")
		private String[] filesUuid;

		public String getTrayNumber() {
			return trayNumber;
		}

		public void setTrayNumber(String trayNumber) {
			this.trayNumber = trayNumber;
		}

		public String getBulkstockName() {
			return bulkstockName;
		}

		public void setBulkstockName(String bulkstockName) {
			this.bulkstockName = bulkstockName;
		}

		public String getSpecification() {
			return specification;
		}

		public void setSpecification(String specification) {
			this.specification = specification;
		}

		public BigDecimal getQuantity() {
			return quantity;
		}

		public void setQuantity(BigDecimal quantity) {
			this.quantity = quantity;
		}

		public BigDecimal getVolume() {
			return volume;
		}

		public void setVolume(BigDecimal volume) {
			this.volume = volume;
		}

		public BigDecimal getWeight() {
			return weight;
		}

		public void setWeight(BigDecimal weight) {
			this.weight = weight;
		}

		public String[] getFilesUuid() {
			return filesUuid;
		}

		public void setFilesUuid(String[] filesUuid) {
			this.filesUuid = filesUuid;
		}

		@Override
		public String toString() {
			return "TallyBulkstock [trayNumber=" + trayNumber + ", bulkstockName=" + bulkstockName + ", specification=" + specification + ", quantity="
					+ quantity + ", volume=" + volume + ", weight=" + weight + ", filesUuid=" + Arrays.toString(filesUuid) + "]";
		}
	}

	public String getRecieveNoticeNumber() {
		return recieveNoticeNumber;
	}

	public void setRecieveNoticeNumber(String recieveNoticeNumber) {
		this.recieveNoticeNumber = recieveNoticeNumber;
	}

	public String getClerkMobile() {
		return clerkMobile;
	}

	public void setClerkMobile(String clerkMobile) {
		this.clerkMobile = clerkMobile;
	}

	public String getTallyAddress() {
		return tallyAddress;
	}

	public void setTallyAddress(String tallyAddress) {
		this.tallyAddress = tallyAddress;
	}

	public String getDriverAddress() {
		return driverAddress;
	}

	public void setDriverAddress(String driverAddress) {
		this.driverAddress = driverAddress;
	}

	public Date getStartDate() {
		return startDate;
	}

	public void setStartDate(Date startDate) {
		this.startDate = startDate;
	}

	public Date getTallyDateTime() {
		return tallyDateTime;
	}

	public void setTallyDateTime(Date tallyDateTime) {
		this.tallyDateTime = tallyDateTime;
	}

	public String getWaybillNumber() {
		return waybillNumber;
	}

	public void setWaybillNumber(String waybillNumber) {
		this.waybillNumber = waybillNumber;
	}

	public String getCaseNumber() {
		return caseNumber;
	}

	public void setCaseNumber(String caseNumber) {
		this.caseNumber = caseNumber;
	}

	public String getModel() {
		return model;
	}

	public void setModel(String model) {
		this.model = model;
	}

	public String getDimension() {
		return dimension;
	}

	public void setDimension(String dimension) {
		this.dimension = dimension;
	}

	public String getFacingSlip() {
		return facingSlip;
	}

	public void setFacingSlip(String facingSlip) {
		this.facingSlip = facingSlip;
	}

	public String getFacingSlipNext() {
		return facingSlipNext;
	}

	public void setFacingSlipNext(String facingSlipNext) {
		this.facingSlipNext = facingSlipNext;
	}

	public String[] getTallyPreFile() {
		return tallyPreFile;
	}

	public void setTallyPreFile(String[] tallyPreFile) {
		this.tallyPreFile = tallyPreFile;
	}

	public String[] getTallySuffixFile() {
		return tallySuffixFile;
	}

	public void setTallySuffixFile(String[] tallySuffixFile) {
		this.tallySuffixFile = tallySuffixFile;
	}

	public String getTallyRemark() {
		return tallyRemark;
	}

	public void setTallyRemark(String tallyRemark) {
		this.tallyRemark = tallyRemark;
	}

	public String getTallyExAbnormalFile() {
		return tallyExAbnormalFile;
	}

	public void setTallyExAbnormalFile(String tallyExAbnormalFile) {
		this.tallyExAbnormalFile = tallyExAbnormalFile;
	}

	public Integer getTallyExAbnormalState() {
		return tallyExAbnormalState;
	}

	public void setTallyExAbnormalState(Integer tallyExAbnormalState) {
		this.tallyExAbnormalState = tallyExAbnormalState;
	}

	public List<TallyBulkstock> getTallyBulkstocks() {
		return tallyBulkstocks;
	}

	public void setTallyBulkstocks(List<TallyBulkstock> tallyBulkstocks) {
		this.tallyBulkstocks = tallyBulkstocks;
	}

	@Override
	public String toString() {
		return "TallySyncParams [recieveNoticeNumber=" + recieveNoticeNumber + ", clerkMobile=" + clerkMobile + ", driverAddress=" + driverAddress
				+ ", tallyAddress=" + tallyAddress + ", startDate=" + startDate + ", tallyDateTime=" + tallyDateTime + ", waybillNumber=" + waybillNumber
				+ ", caseNumber=" + caseNumber + ", model=" + model + ", dimension=" + dimension + ", facingSlip=" + facingSlip + ", facingSlipNext="
				+ facingSlipNext + ", tallyPreFile=" + Arrays.toString(tallyPreFile) + ", tallySuffixFile=" + Arrays.toString(tallySuffixFile)
				+ ", tallyRemark=" + tallyRemark + ", tallyExAbnormalFile=" + tallyExAbnormalFile + ", tallyExAbnormalState=" + tallyExAbnormalState
				+ ", tallyBulkstocks=" + tallyBulkstocks + "]";
	}
}
